package com.gmzg.gmzgnews.live.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

/**
 * Created with IntelliJ IDEA.
 * User: vhly[FR]
 * Date: 16/9/7
 * Email: vhly@163.com
 */

/**
 * SQLiteOpenHelper 用于自动创建数据库，并且根据指定的参数，能够进行
 * 数据库的更新操作。全部可以自动处理。必须实现 onCreate, onUpgrade
 */
public class DbHelper extends SQLiteOpenHelper {

    public static final String CREATE_TABLE_HOT_DATA =
            "create table hot (" +
                    "_id long primary key ," +//id或者group_id
                    "online_time long," +//online_time
                    "mp4_url varchar(n)," +//mp4_url
                    "cover_url varchar(n)" +//large_cover->url_list->url[0]
                    ")";


    public DbHelper(Context context) {
        // context : 用于在内部存储区创建数据库文件
        // 参数2，数据库文件名
        // 参数4: 版本号，当前程序在代码中，设置的版本号信息；
        //       这个版本号应该是程序最新的数据库版本，
        //       类就会自动监测手机中的 数据库文件中的版本，如果不一致那么升级数据库文件
        super(context, "liveDb", null, 4);
    }

    /**
     * 当程序第一次使用数据库，并且数据库文件不存在的时候，回调这个方法
     * 主要用于创建数据库的表
     *
     * @param db 创建成功的数据库对象
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        // 如果数据库表需要显示在ListView中，那么表必须包含 _id 字段；
        db.execSQL(CREATE_TABLE_HOT_DATA);
        Log.d("DbHelper", "onCreate");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO: 考虑版本升级的实现
        Log.d("DbHelper", "onUpgrade");

//        if (newVersion == 3) {
//            db.execSQL(CREATE_TABLE_INCOME);
//        } else if (newVersion == 4) {
//            // 假设版本4 升级的时候，需要添加一个字段；
//            db.execSQL("alter table income add column type integer default 0");
//        }

    }
}
